﻿// IDataSource.cs
//

using System;
using System.Collections.Generic;
using jQueryApi;

namespace OcenyOpisowe.Client.Data
{
	/// <summary>
	/// Interfejs zwierający metody wspólne dla każdego źródła danych.
	/// </summary>
	public interface IDataSource
	{
		/// <summary>
		/// Rozpoczyna pobieranie danych ze źródła danych.
		/// Dane te są wymagane do późniejszego procesu bindowania danych do kontrolek.
		/// </summary>
		/// <param name="onDataLoaded">Callback, wywoływany po pobraniu danych ze źródła danych.</param>
		void BeginDataLoading(AjaxRequestCallback onDataLoaded);

		/// <summary>
		/// Rozpoczyna pobieranie danych ze źródła danych.
		/// Dane te są wymagane do późniejszego procesu bindowania danych do kontrolek.
		/// </summary>
		/// <param name="onDataLoaded">Callback, wywoływany po pobraniu danych ze źródła danych.</param>
		/// <param name="onError">Callback, wywoływany po stwierdzeniu problemu z pobieraniem danych.</param>
		void BeginDataLoadingEx(AjaxRequestCallback onDataLoaded, AjaxErrorCallback onError);
	}
}
